// stu学生信息的路由器模块文件

// 1。引入express
const express = require("express");
// 导入stuModel
const stuModel = require("../models/stuModel");
// 2. 创建路由对象
const router = express.Router();
// 3. 设置路由
// 浏览学员信息
router.get("/", (req, res) => {
    // 初始化一个查询条件
    const where = {};
    // 判断参数并添加搜索条件
    if(req.query.name){
        where.name = req.query.name;
    }
    if(req.query.sex){
        where.sex = req.query.sex;
    }
    
    // 使用stuModel获取学员信息
    stuModel.find(where,(err,data) => {
        if(err) throw err; 
        //console.log("查询数据", data);
        // 加载views/stu/index.ejs模板，放置学员信息，并响应
        res.render("stu/index", {stulist:data});
    })
    
});
// 删除学员信息
router.get("/del", (req, res) => {
    // 获取要求删除的信息id号
    let id = req.query.id;
    // 调用stuModel执行删除操作
    stuModel.deleteOne({_id:id},(err,data)=>{
        if(err) throw err;
        console.log(data);
        // 跳转回首页
        res.redirect("/");
    });
    
    //res.send("执行删除学员信息");
});
// 加载添加学员信息表单
router.get("/add", (req, res) => {
    // 加载views/stu/add.ejs模板，并响应
    res.render("stu/add",{info:""});
});
// 执行学员信息添加
router.post("/add", (req, res) => {
    // 获取要添加的学员信息
    let data = req.body;
    console.log(data);
    // 判断表单中的姓名是否为空
    if(data.name==""){
        res.render("stu/add",{info:"姓名不可以为空！"});
        return;
    }
    // 执行添加
    stuModel.create(data, (err, data) => {
        if(err) throw err;
        //console.log("添加成功", data);
        res.redirect("/");
    })
    //res.send("执行学员信息添加");
});

// 加载学员信息编辑表单(准备修改)
router.get("/edit", (req, res) => {
    // 获取要求修改信息的id号
    let id = req.query.id;
    // 通过id获取要求修改的信息
    stuModel.findById(id, (err, data) => {
        if(err) throw err;
        // 加载views/stu/edit.ejs模板，将data数据放置进去，并响应
        res.render("stu/edit",{stu:data});
    });
    
});

// 执行学员信息编辑
router.post("/edit", (req, res) => {
    // 获取要修改的信息
    let id = req.query.id; // 获取url地址的参数信息
    let data = req.body; // 获取请求体中参数信息（要修改的信息）
    // 执行修改
    stuModel.updateOne({_id:id}, data, (err,result)=>{
        if(err) throw err;
        console.log(result);
        // 跳转首页
        res.redirect("/");
    });
    //res.send("执行学员信息修改");
});

// 4. 导出（暴露路由对象）
module.exports = router;